package com.ray.file.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ray.file.dto.UploadFileParamsDto;
import com.ray.file.dto.UploadFileResultDto;
import com.ray.file.po.MediaFiles;

/**
 * <p>
 * 媒资信息 服务类
 * </p>
 *
 * @author liubi
 * @since 2024-06-06
 */
public interface MediaFilesService extends IService<MediaFiles> {

    /**
     * 上传文件
     *
     * @param uploadFileParamsDto 文件信息
     * @param localFilePath       文件本地路径
     * @return UploadFileResultDto
     * @throws Exception 异常信息
     * @author liubi 2024/6/6 14:14
     **/
    UploadFileResultDto uploadFile(UploadFileParamsDto uploadFileParamsDto, String localFilePath) throws Exception;

    /**
     * 将文件信息保存到数据库
     *
     * @param fileMd5             文件 fileMd5
     * @param uploadFileParamsDto 文件基本信息
     * @param bucket              文件存放捅名称
     * @param objectName          文件名称
     * @return 文件信息
     * @throw Exception 异常信息
     * @author liubi 2024/6/16 20:27
     **/
    MediaFiles addMediaFilesToDb(String fileMd5, UploadFileParamsDto uploadFileParamsDto, String bucket, String objectName);
}
